Load Data

dataset <- read.delim("raw_data/Figure5H.txt", stringsAsFactors = FALSE)

dataset$genotype <- gsub("Δ","d",gsub(" ", "", dataset$genotype))
dataset$genotype <- factor(dataset$genotype)
dataset$Experiment <- factor(rep(paste0("exp", 1:(length(dataset$genotype)/length(levels(dataset$genotype)))), each=length(unique(dataset$genotype))))

dataset$BRCA <-  factor(gsub("\\+.*","",dataset$genotype))
dataset$Alc1 <-  factor(gsub(".*[T,1]\\+","",dataset$genotype))

dataset$UID <- factor(paste(dataset$Experiment, dataset$Alc1, dataset$BRCA))
dataset$GSID <- factor(paste(dataset$Alc1, dataset$BRCA))

# wide format
kable(dataset, row.names = F)
genotype NT olaparib_30nM olaparib_300nM olaparib_3000nM Experiment BRCA Alc1 UID GSID
h/d11+GFP 2850 2670 1956 1980 exp1 h/d11 GFP exp1 GFP h/d11 GFP h/d11
h/d11+GFP-ALC1 2600 2320 2150 2010 exp1 h/d11 GFP-ALC1 exp1 GFP-ALC1 h/d11 GFP-ALC1 h/d11
d11/d11+GFP 1576 1296 660 109 exp1 d11/d11 GFP exp1 GFP d11/d11 GFP d11/d11
d11/d11+GFP-ALC1 1010 880 550 360 exp1 d11/d11 GFP-ALC1 exp1 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11
h/d11+GFP 2620 2570 1675 1480 exp2 h/d11 GFP exp2 GFP h/d11 GFP h/d11
h/d11+GFP-ALC1 2450 2120 1980 1840 exp2 h/d11 GFP-ALC1 exp2 GFP-ALC1 h/d11 GFP-ALC1 h/d11
d11/d11+GFP 1740 1300 740 95 exp2 d11/d11 GFP exp2 GFP d11/d11 GFP d11/d11
d11/d11+GFP-ALC1 920 820 520 220 exp2 d11/d11 GFP-ALC1 exp2 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11
h/d11+GFP 2356 2184 1586 1148 exp3 h/d11 GFP exp3 GFP h/d11 GFP h/d11
h/d11+GFP-ALC1 2192 2066 1760 1518 exp3 h/d11 GFP-ALC1 exp3 GFP-ALC1 h/d11 GFP-ALC1 h/d11
d11/d11+GFP 840 680 440 180 exp3 d11/d11 GFP exp3 GFP d11/d11 GFP d11/d11
d11/d11+GFP-ALC1 396 356 288 140 exp3 d11/d11 GFP-ALC1 exp3 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11
h/d11+GFP 2256 2052 1552 1020 exp4 h/d11 GFP exp4 GFP h/d11 GFP h/d11
h/d11+GFP-ALC1 2260 2120 1850 1314 exp4 h/d11 GFP-ALC1 exp4 GFP-ALC1 h/d11 GFP-ALC1 h/d11
d11/d11+GFP 816 632 340 152 exp4 d11/d11 GFP exp4 GFP d11/d11 GFP d11/d11
d11/d11+GFP-ALC1 528 482 284 211 exp4 d11/d11 GFP-ALC1 exp4 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11
library(reshape2)
# reshape to long format
dataset <- melt(dataset, variable.name = "Treatment", value.name = "Counts")

dataset$Alc1 <- relevel(dataset$Alc1, ref = "GFP")
dataset$BRCA <- relevel(dataset$BRCA, ref = "h/d11")
dataset$UID <- relevel(dataset$UID, ref = "exp1 GFP h/d11")

dataset$Olaparib <- gsub("NT","1",dataset$Treatment)
dataset$Olaparib <- gsub("olaparib_|nM","",dataset$Olaparib)
dataset$Olaparib <- log10(as.integer(dataset$Olaparib))




dataset$Offset <- NA
for(uid in levels(dataset$UID)){
        dataset$Offset[dataset$UID == uid] <- mean(dataset$Counts[dataset$UID == uid])
}

dataset$NormCounts <- dataset$Counts / dataset$Offset



dataset$Offset2 <- NA
for(gsid in levels(dataset$GSID)){
        dataset$Offset2[dataset$GSID == gsid] <- mean(dataset$NormCounts[dataset$GSID == gsid & dataset$Olaparib == 0])
}

dataset$NormCounts2 <- dataset$NormCounts / dataset$Offset2



# long format
kable(dataset, row.names = F)
genotype Experiment BRCA Alc1 UID GSID Treatment Counts Olaparib Offset NormCounts Offset2 NormCounts2
h/d11+GFP exp1 h/d11 GFP exp1 GFP h/d11 GFP h/d11 NT 2850 0.000000 2364.00 1.2055838 1.267157 0.9514086
h/d11+GFP-ALC1 exp1 h/d11 GFP-ALC1 exp1 GFP-ALC1 h/d11 GFP-ALC1 h/d11 NT 2600 0.000000 2270.00 1.1453744 1.168804 0.9799541
d11/d11+GFP exp1 d11/d11 GFP exp1 GFP d11/d11 GFP d11/d11 NT 1576 0.000000 910.25 1.7313925 1.695022 1.0214570
d11/d11+GFP-ALC1 exp1 d11/d11 GFP-ALC1 exp1 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 NT 1010 0.000000 700.00 1.4428571 1.418106 1.0174538
h/d11+GFP exp2 h/d11 GFP exp2 GFP h/d11 GFP h/d11 NT 2620 0.000000 2086.25 1.2558418 1.267157 0.9910707
h/d11+GFP-ALC1 exp2 h/d11 GFP-ALC1 exp2 GFP-ALC1 h/d11 GFP-ALC1 h/d11 NT 2450 0.000000 2097.50 1.1680572 1.168804 0.9993609
d11/d11+GFP exp2 d11/d11 GFP exp2 GFP d11/d11 GFP d11/d11 NT 1740 0.000000 968.75 1.7961290 1.695022 1.0596492
d11/d11+GFP-ALC1 exp2 d11/d11 GFP-ALC1 exp2 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 NT 920 0.000000 620.00 1.4838710 1.418106 1.0463754
h/d11+GFP exp3 h/d11 GFP exp3 GFP h/d11 GFP h/d11 NT 2356 0.000000 1818.50 1.2955733 1.267157 1.0224255
h/d11+GFP-ALC1 exp3 h/d11 GFP-ALC1 exp3 GFP-ALC1 h/d11 GFP-ALC1 h/d11 NT 2192 0.000000 1884.00 1.1634820 1.168804 0.9954464
d11/d11+GFP exp3 d11/d11 GFP exp3 GFP d11/d11 GFP d11/d11 NT 840 0.000000 535.00 1.5700935 1.695022 0.9262966
d11/d11+GFP-ALC1 exp3 d11/d11 GFP-ALC1 exp3 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 NT 396 0.000000 295.00 1.3423729 1.418106 0.9465957
h/d11+GFP exp4 h/d11 GFP exp4 GFP h/d11 GFP h/d11 NT 2256 0.000000 1720.00 1.3116279 1.267157 1.0350953
h/d11+GFP-ALC1 exp4 h/d11 GFP-ALC1 exp4 GFP-ALC1 h/d11 GFP-ALC1 h/d11 NT 2260 0.000000 1886.00 1.1983033 1.168804 1.0252387
d11/d11+GFP exp4 d11/d11 GFP exp4 GFP d11/d11 GFP d11/d11 NT 816 0.000000 485.00 1.6824742 1.695022 0.9925971
d11/d11+GFP-ALC1 exp4 d11/d11 GFP-ALC1 exp4 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 NT 528 0.000000 376.25 1.4033223 1.418106 0.9895751
h/d11+GFP exp1 h/d11 GFP exp1 GFP h/d11 GFP h/d11 olaparib_30nM 2670 1.477121 2364.00 1.1294416 1.267157 0.8913196
h/d11+GFP-ALC1 exp1 h/d11 GFP-ALC1 exp1 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_30nM 2320 1.477121 2270.00 1.0220264 1.168804 0.8744205
d11/d11+GFP exp1 d11/d11 GFP exp1 GFP d11/d11 GFP d11/d11 olaparib_30nM 1296 1.477121 910.25 1.4237847 1.695022 0.8399799
d11/d11+GFP-ALC1 exp1 d11/d11 GFP-ALC1 exp1 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_30nM 880 1.477121 700.00 1.2571429 1.418106 0.8864944
h/d11+GFP exp2 h/d11 GFP exp2 GFP h/d11 GFP h/d11 olaparib_30nM 2570 1.477121 2086.25 1.2318754 1.267157 0.9721571
h/d11+GFP-ALC1 exp2 h/d11 GFP-ALC1 exp2 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_30nM 2120 1.477121 2097.50 1.0107271 1.168804 0.8647531
d11/d11+GFP exp2 d11/d11 GFP exp2 GFP d11/d11 GFP d11/d11 olaparib_30nM 1300 1.477121 968.75 1.3419355 1.695022 0.7916919
d11/d11+GFP-ALC1 exp2 d11/d11 GFP-ALC1 exp2 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_30nM 820 1.477121 620.00 1.3225806 1.418106 0.9326389
h/d11+GFP exp3 h/d11 GFP exp3 GFP h/d11 GFP h/d11 olaparib_30nM 2184 1.477121 1818.50 1.2009898 1.267157 0.9477832
h/d11+GFP-ALC1 exp3 h/d11 GFP-ALC1 exp3 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_30nM 2066 1.477121 1884.00 1.0966030 1.168804 0.9382264
d11/d11+GFP exp3 d11/d11 GFP exp3 GFP d11/d11 GFP d11/d11 olaparib_30nM 680 1.477121 535.00 1.2710280 1.695022 0.7498592
d11/d11+GFP-ALC1 exp3 d11/d11 GFP-ALC1 exp3 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_30nM 356 1.477121 295.00 1.2067797 1.418106 0.8509800
h/d11+GFP exp4 h/d11 GFP exp4 GFP h/d11 GFP h/d11 olaparib_30nM 2052 1.477121 1720.00 1.1930233 1.267157 0.9414962
h/d11+GFP-ALC1 exp4 h/d11 GFP-ALC1 exp4 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_30nM 2120 1.477121 1886.00 1.1240721 1.168804 0.9617283
d11/d11+GFP exp4 d11/d11 GFP exp4 GFP d11/d11 GFP d11/d11 olaparib_30nM 632 1.477121 485.00 1.3030928 1.695022 0.7687762
d11/d11+GFP-ALC1 exp4 d11/d11 GFP-ALC1 exp4 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_30nM 482 1.477121 376.25 1.2810631 1.418106 0.9033622
h/d11+GFP exp1 h/d11 GFP exp1 GFP h/d11 GFP h/d11 olaparib_300nM 1956 2.477121 2364.00 0.8274112 1.267157 0.6529667
h/d11+GFP-ALC1 exp1 h/d11 GFP-ALC1 exp1 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_300nM 2150 2.477121 2270.00 0.9471366 1.168804 0.8103466
d11/d11+GFP exp1 d11/d11 GFP exp1 GFP d11/d11 GFP d11/d11 olaparib_300nM 660 2.477121 910.25 0.7250755 1.695022 0.4277675
d11/d11+GFP-ALC1 exp1 d11/d11 GFP-ALC1 exp1 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_300nM 550 2.477121 700.00 0.7857143 1.418106 0.5540590
h/d11+GFP exp2 h/d11 GFP exp2 GFP h/d11 GFP h/d11 olaparib_300nM 1675 2.477121 2086.25 0.8028760 1.267157 0.6336043
h/d11+GFP-ALC1 exp2 h/d11 GFP-ALC1 exp2 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_300nM 1980 2.477121 2097.50 0.9439809 1.168804 0.8076467
d11/d11+GFP exp2 d11/d11 GFP exp2 GFP d11/d11 GFP d11/d11 olaparib_300nM 740 2.477121 968.75 0.7638710 1.695022 0.4506554
d11/d11+GFP-ALC1 exp2 d11/d11 GFP-ALC1 exp2 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_300nM 520 2.477121 620.00 0.8387097 1.418106 0.5914295
h/d11+GFP exp3 h/d11 GFP exp3 GFP h/d11 GFP h/d11 olaparib_300nM 1586 2.477121 1818.50 0.8721474 1.267157 0.6882711
h/d11+GFP-ALC1 exp3 h/d11 GFP-ALC1 exp3 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_300nM 1760 2.477121 1884.00 0.9341826 1.168804 0.7992635
d11/d11+GFP exp3 d11/d11 GFP exp3 GFP d11/d11 GFP d11/d11 olaparib_300nM 440 2.477121 535.00 0.8224299 1.695022 0.4852030
d11/d11+GFP-ALC1 exp3 d11/d11 GFP-ALC1 exp3 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_300nM 288 2.477121 295.00 0.9762712 1.418106 0.6884332
h/d11+GFP exp4 h/d11 GFP exp4 GFP h/d11 GFP h/d11 olaparib_300nM 1552 2.477121 1720.00 0.9023256 1.267157 0.7120868
h/d11+GFP-ALC1 exp4 h/d11 GFP-ALC1 exp4 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_300nM 1850 2.477121 1886.00 0.9809120 1.168804 0.8392440
d11/d11+GFP exp4 d11/d11 GFP exp4 GFP d11/d11 GFP d11/d11 olaparib_300nM 340 2.477121 485.00 0.7010309 1.695022 0.4135821
d11/d11+GFP-ALC1 exp4 d11/d11 GFP-ALC1 exp4 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_300nM 284 2.477121 376.25 0.7548173 1.418106 0.5322715
h/d11+GFP exp1 h/d11 GFP exp1 GFP h/d11 GFP h/d11 olaparib_3000nM 1980 3.477121 2364.00 0.8375635 1.267157 0.6609786
h/d11+GFP-ALC1 exp1 h/d11 GFP-ALC1 exp1 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_3000nM 2010 3.477121 2270.00 0.8854626 1.168804 0.7575799
d11/d11+GFP exp1 d11/d11 GFP exp1 GFP d11/d11 GFP d11/d11 olaparib_3000nM 109 3.477121 910.25 0.1197473 1.695022 0.0706465
d11/d11+GFP-ALC1 exp1 d11/d11 GFP-ALC1 exp1 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_3000nM 360 3.477121 700.00 0.5142857 1.418106 0.3626568
h/d11+GFP exp2 h/d11 GFP exp2 GFP h/d11 GFP h/d11 olaparib_3000nM 1480 3.477121 2086.25 0.7094068 1.267157 0.5598414
h/d11+GFP-ALC1 exp2 h/d11 GFP-ALC1 exp2 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_3000nM 1840 3.477121 2097.50 0.8772348 1.168804 0.7505404
d11/d11+GFP exp2 d11/d11 GFP exp2 GFP d11/d11 GFP d11/d11 olaparib_3000nM 95 3.477121 968.75 0.0980645 1.695022 0.0578544
d11/d11+GFP-ALC1 exp2 d11/d11 GFP-ALC1 exp2 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_3000nM 220 3.477121 620.00 0.3548387 1.418106 0.2502202
h/d11+GFP exp3 h/d11 GFP exp3 GFP h/d11 GFP h/d11 olaparib_3000nM 1148 3.477121 1818.50 0.6312895 1.267157 0.4981937
h/d11+GFP-ALC1 exp3 h/d11 GFP-ALC1 exp3 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_3000nM 1518 3.477121 1884.00 0.8057325 1.168804 0.6893648
d11/d11+GFP exp3 d11/d11 GFP exp3 GFP d11/d11 GFP d11/d11 olaparib_3000nM 180 3.477121 535.00 0.3364486 1.695022 0.1984921
d11/d11+GFP-ALC1 exp3 d11/d11 GFP-ALC1 exp3 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_3000nM 140 3.477121 295.00 0.4745763 1.418106 0.3346550
h/d11+GFP exp4 h/d11 GFP exp4 GFP h/d11 GFP h/d11 olaparib_3000nM 1020 3.477121 1720.00 0.5930233 1.267157 0.4679952
h/d11+GFP-ALC1 exp4 h/d11 GFP-ALC1 exp4 GFP-ALC1 h/d11 GFP-ALC1 h/d11 olaparib_3000nM 1314 3.477121 1886.00 0.6967126 1.168804 0.5960901
d11/d11+GFP exp4 d11/d11 GFP exp4 GFP d11/d11 GFP d11/d11 olaparib_3000nM 152 3.477121 485.00 0.3134021 1.695022 0.1848955
d11/d11+GFP-ALC1 exp4 d11/d11 GFP-ALC1 exp4 GFP-ALC1 d11/d11 GFP-ALC1 d11/d11 olaparib_3000nM 211 3.477121 376.25 0.5607973 1.418106 0.3954552

Plot Data

library(ggplot2)

# raw data
ggplot(dataset, aes(x=Olaparib, y=Counts)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE, aes(colour=BRCA)) +
        geom_point(aes(colour=BRCA, shape=Experiment), size=2) +        
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_shape_manual(values=15:20) +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Linear
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Linear
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Quadratic
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Quadratic
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Cubic
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Cubic
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ Alc1) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

library(Cairo)


cairo_pdf("Figure5H.pdf", width = 5, height = 4, family = "Arial")

ggplot(dataset, aes(x=Olaparib, y=NormCounts2)) + 
        theme_bw() +
        theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), 
              axis.line = element_line(colour = "black"), text = element_text(size=14),
              panel.border = element_blank(), panel.background = element_blank()) +
        geom_point(aes(colour = BRCA, shape = Alc1), size=1.75) +
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=TRUE, 
                    aes(group = GSID,colour = BRCA, linetype = Alc1), fill='#DDDDDD', size=0.5) +
        xlab(label = "Olaparib (log10 nM)") +
        ylab(label = "Normalized Counts") +
        scale_color_manual(values=c("#000000","#FF0000")) +
        guides(linetype = guide_legend(override.aes= list(color = "#555555"))) 

dev.off()
## quartz_off_screen 
##                 2

Models

library(MASS)
library(DHARMa)
library(lme4)
library(lmerTest)
library(bbmle)

Linear formula

fit1 <- lm(Counts ~ Experiment + Olaparib*BRCA*Alc1, data = dataset)
print(summary(fit1))
## 
## Call:
## lm(formula = Counts ~ Experiment + Olaparib * BRCA * Alc1, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -341.65  -99.09   -8.29  101.69  323.01 
## 
## Coefficients:
##                                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                        2880.21      83.47  34.504  < 2e-16 ***
## Experimentexp2                     -117.94      60.23  -1.958  0.05550 .  
## Experimentexp3                     -427.94      60.23  -7.105 3.06e-09 ***
## Experimentexp4                     -444.25      60.23  -7.375 1.12e-09 ***
## Olaparib                           -342.06      33.15 -10.318 2.78e-14 ***
## BRCAd11/d11                       -1309.45     105.90 -12.365  < 2e-16 ***
## Alc1GFP-ALC1                       -223.76     105.90  -2.113  0.03934 *  
## Olaparib:BRCAd11/d11                 19.92      46.88   0.425  0.67258    
## Olaparib:Alc1GFP-ALC1               140.46      46.88   2.996  0.00416 ** 
## BRCAd11/d11:Alc1GFP-ALC1           -338.26     149.77  -2.259  0.02805 *  
## Olaparib:BRCAd11/d11:Alc1GFP-ALC1    39.90      66.30   0.602  0.54988    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 170.4 on 53 degrees of freedom
## Multiple R-squared:  0.9645, Adjusted R-squared:  0.9578 
## F-statistic:   144 on 10 and 53 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit1))
## AIC:  851.2118
simres <- simulateResiduals(fittedModel = fit1)
plot(simres)

fit2 <- lm(NormCounts ~ Olaparib*BRCA*Alc1, data = dataset)
print(summary(fit2))
## 
## Call:
## lm(formula = NormCounts ~ Olaparib * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.229003 -0.068268 -0.007592  0.059351  0.260029 
## 
## Coefficients:
##                                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                        1.32580    0.04911  26.998  < 2e-16 ***
## Olaparib                          -0.17537    0.02174  -8.066 6.02e-11 ***
## BRCAd11/d11                        0.47329    0.06945   6.815 6.99e-09 ***
## Alc1GFP-ALC1                      -0.13861    0.06945  -1.996   0.0508 .  
## Olaparib:BRCAd11/d11              -0.25475    0.03075  -8.286 2.62e-11 ***
## Olaparib:Alc1GFP-ALC1              0.07461    0.03075   2.427   0.0185 *  
## BRCAd11/d11:Alc1GFP-ALC1          -0.14652    0.09822  -1.492   0.1414    
## Olaparib:BRCAd11/d11:Alc1GFP-ALC1  0.07886    0.04348   1.814   0.0751 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1117 on 56 degrees of freedom
## Multiple R-squared:  0.9195, Adjusted R-squared:  0.9095 
## F-statistic: 91.41 on 7 and 56 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit2))
## AIC:  -89.46234
simres <- simulateResiduals(fittedModel = fit2)
plot(simres)

fit3 <- lm(NormCounts2 ~ Olaparib*BRCA*Alc1, data = dataset)
print(summary(fit3))
## 
## Call:
## lm(formula = NormCounts2 ~ Olaparib * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.139051 -0.050234 -0.005139  0.049554  0.153408 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                        1.046283   0.033805  30.950  < 2e-16 ***
## Olaparib                          -0.138394   0.014966  -9.247 7.21e-13 ***
## BRCAd11/d11                        0.015117   0.047808   0.316   0.7530    
## Alc1GFP-ALC1                      -0.030549   0.047808  -0.639   0.5254    
## Olaparib:BRCAd11/d11              -0.115361   0.021165  -5.450 1.17e-06 ***
## Olaparib:Alc1GFP-ALC1              0.052187   0.021165   2.466   0.0168 *  
## BRCAd11/d11:Alc1GFP-ALC1           0.036750   0.067611   0.544   0.5889    
## Olaparib:BRCAd11/d11:Alc1GFP-ALC1  0.006484   0.029932   0.217   0.8293    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07691 on 56 degrees of freedom
## Multiple R-squared:  0.9242, Adjusted R-squared:  0.9147 
## F-statistic: 97.52 on 7 and 56 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit3))
## AIC:  -137.2569
simres <- simulateResiduals(fittedModel = fit3)
plot(simres)

fit4 <- lmer(Counts ~ Olaparib*BRCA*Alc1 + (1|UID), data = dataset)
print(summary(fit4))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ Olaparib * BRCA * Alc1 + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 783.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.85140 -0.50837  0.00144  0.46463  2.11990 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 47106    217.0   
##  Residual             29754    172.5   
## Number of obs: 64, groups:  UID, 16
## 
## Fixed effects:
##                                   Estimate Std. Error       df t value Pr(>|t|)
## (Intercept)                        2632.68     132.38    19.39  19.887 2.31e-14
## Olaparib                           -342.06      33.57    44.00 -10.191 3.72e-13
## BRCAd11/d11                       -1309.45     187.22    19.39  -6.994 1.04e-06
## Alc1GFP-ALC1                       -223.76     187.22    19.39  -1.195  0.24643
## Olaparib:BRCAd11/d11                 19.92      47.47    44.00   0.420  0.67673
## Olaparib:Alc1GFP-ALC1               140.46      47.47    44.00   2.959  0.00496
## BRCAd11/d11:Alc1GFP-ALC1           -338.26     264.76    19.39  -1.278  0.21648
## Olaparib:BRCAd11/d11:Alc1GFP-ALC1    39.90      67.13    44.00   0.594  0.55531
##                                      
## (Intercept)                       ***
## Olaparib                          ***
## BRCAd11/d11                       ***
## Alc1GFP-ALC1                         
## Olaparib:BRCAd11/d11                 
## Olaparib:Alc1GFP-ALC1             ** 
## BRCAd11/d11:Alc1GFP-ALC1             
## Olaparib:BRCAd11/d11:Alc1GFP-ALC1    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##              (Intr) Olaprb BRCAd11/11 A1GFP- Ol:BRCA11/11 O:A1GF BRCA11/11:
## Olaparib     -0.471                                                        
## BRCAd11/d11  -0.707  0.333                                                 
## Al1GFP-ALC1  -0.707  0.333  0.500                                          
## Ol:BRCA11/11  0.333 -0.707 -0.471     -0.236                               
## O:A1GFP-ALC   0.333 -0.707 -0.236     -0.471  0.500                        
## BRCA11/11:A   0.500 -0.236 -0.707     -0.707  0.333        0.333           
## O:BRCA11/11: -0.236  0.500  0.333      0.333 -0.707       -0.707 -0.471
cat("AIC: ", AIC(fit4))
## AIC:  803.8541
simres <- simulateResiduals(fittedModel = fit4)
plot(simres)

Quadratic formula

fit5 <- lm(Counts ~ Experiment + poly(Olaparib,2)*BRCA*Alc1, data = dataset)
print(summary(fit5))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Olaparib, 2) * BRCA * 
##     Alc1, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -309.91 -101.30    1.91   81.79  383.55 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                  2244.72      53.04  42.324
## Experimentexp2                               -117.94      56.70  -2.080
## Experimentexp3                               -427.94      56.70  -7.548
## Experimentexp4                               -444.25      56.70  -7.835
## poly(Olaparib, 2)1                          -3515.62     320.74 -10.961
## poly(Olaparib, 2)2                           -707.28     320.74  -2.205
## BRCAd11/d11                                 -1272.44      56.70 -22.442
## Alc1GFP-ALC1                                   37.19      56.70   0.656
## poly(Olaparib, 2)1:BRCAd11/d11                204.78     453.59   0.451
## poly(Olaparib, 2)2:BRCAd11/d11                 75.06     453.59   0.165
## poly(Olaparib, 2)1:Alc1GFP-ALC1              1443.58     453.59   3.183
## poly(Olaparib, 2)2:Alc1GFP-ALC1               418.64     453.59   0.923
## BRCAd11/d11:Alc1GFP-ALC1                     -264.13      80.18  -3.294
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1   410.10     641.47   0.639
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  -145.95     641.47  -0.228
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## Experimentexp2                               0.04277 *  
## Experimentexp3                              9.45e-10 ***
## Experimentexp4                              3.41e-10 ***
## poly(Olaparib, 2)1                          8.77e-15 ***
## poly(Olaparib, 2)2                           0.03216 *  
## BRCAd11/d11                                  < 2e-16 ***
## Alc1GFP-ALC1                                 0.51497    
## poly(Olaparib, 2)1:BRCAd11/d11               0.65365    
## poly(Olaparib, 2)2:BRCAd11/d11               0.86924    
## poly(Olaparib, 2)1:Alc1GFP-ALC1              0.00254 ** 
## poly(Olaparib, 2)2:Alc1GFP-ALC1              0.36056    
## BRCAd11/d11:Alc1GFP-ALC1                     0.00184 ** 
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1  0.52560    
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  0.82096    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 160.4 on 49 degrees of freedom
## Multiple R-squared:  0.9709, Adjusted R-squared:  0.9626 
## F-statistic: 116.9 on 14 and 49 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit5))
## AIC:  846.4481
simres <- simulateResiduals(fittedModel = fit5)
plot(simres)

fit6 <- lm(NormCounts ~ poly(Olaparib,2)*BRCA*Alc1, data = dataset)
print(summary(fit6))
## 
## Call:
## lm(formula = NormCounts ~ poly(Olaparib, 2) * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.146645 -0.052636 -0.003375  0.058559  0.172530 
## 
## Coefficients:
##                                               Estimate Std. Error t value
## (Intercept)                                  1.000e+00  2.070e-02  48.321
## poly(Olaparib, 2)1                          -1.802e+00  1.656e-01 -10.887
## poly(Olaparib, 2)2                          -3.822e-01  1.656e-01  -2.308
## BRCAd11/d11                                  9.341e-17  2.927e-02   0.000
## Alc1GFP-ALC1                                 1.297e-16  2.927e-02   0.000
## poly(Olaparib, 2)1:BRCAd11/d11              -2.618e+00  2.341e-01 -11.183
## poly(Olaparib, 2)2:BRCAd11/d11              -4.290e-01  2.341e-01  -1.832
## poly(Olaparib, 2)1:Alc1GFP-ALC1              7.668e-01  2.341e-01   3.275
## poly(Olaparib, 2)2:Alc1GFP-ALC1              2.234e-01  2.341e-01   0.954
## BRCAd11/d11:Alc1GFP-ALC1                    -1.608e-16  4.139e-02   0.000
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1  8.105e-01  3.311e-01   2.448
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1 -1.481e-01  3.311e-01  -0.447
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## poly(Olaparib, 2)1                           5.1e-15 ***
## poly(Olaparib, 2)2                           0.02499 *  
## BRCAd11/d11                                  1.00000    
## Alc1GFP-ALC1                                 1.00000    
## poly(Olaparib, 2)1:BRCAd11/d11               1.9e-15 ***
## poly(Olaparib, 2)2:BRCAd11/d11               0.07265 .  
## poly(Olaparib, 2)1:Alc1GFP-ALC1              0.00188 ** 
## poly(Olaparib, 2)2:Alc1GFP-ALC1              0.34433    
## BRCAd11/d11:Alc1GFP-ALC1                     1.00000    
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1  0.01778 *  
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  0.65643    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08278 on 52 degrees of freedom
## Multiple R-squared:  0.959,  Adjusted R-squared:  0.9503 
## F-statistic: 110.5 on 11 and 52 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit6))
## AIC:  -124.5855
simres <- simulateResiduals(fittedModel = fit6)
plot(simres)

fit7 <- lm(NormCounts2 ~ poly(Olaparib,2)*BRCA*Alc1, data = dataset)
print(summary(fit7))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 2) * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.103409 -0.043894 -0.002888  0.038995  0.136155 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                  0.78917    0.01468  53.753
## poly(Olaparib, 2)1                          -1.42239    0.11745 -12.110
## poly(Olaparib, 2)2                          -0.30160    0.11745  -2.568
## BRCAd11/d11                                 -0.19921    0.02076  -9.594
## Alc1GFP-ALC1                                 0.06641    0.02076   3.198
## poly(Olaparib, 2)1:BRCAd11/d11              -1.18566    0.16610  -7.138
## poly(Olaparib, 2)2:BRCAd11/d11              -0.17696    0.16610  -1.065
## poly(Olaparib, 2)1:Alc1GFP-ALC1              0.53637    0.16610   3.229
## poly(Olaparib, 2)2:Alc1GFP-ALC1              0.16580    0.16610   0.998
## BRCAd11/d11:Alc1GFP-ALC1                     0.04880    0.02936   1.662
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1  0.06664    0.23490   0.284
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1 -0.20615    0.23490  -0.878
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## poly(Olaparib, 2)1                           < 2e-16 ***
## poly(Olaparib, 2)2                           0.01315 *  
## BRCAd11/d11                                 4.26e-13 ***
## Alc1GFP-ALC1                                 0.00235 ** 
## poly(Olaparib, 2)1:BRCAd11/d11              2.98e-09 ***
## poly(Olaparib, 2)2:BRCAd11/d11               0.29164    
## poly(Olaparib, 2)1:Alc1GFP-ALC1              0.00215 ** 
## poly(Olaparib, 2)2:Alc1GFP-ALC1              0.32282    
## BRCAd11/d11:Alc1GFP-ALC1                     0.10256    
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1  0.77776    
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  0.38421    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05873 on 52 degrees of freedom
## Multiple R-squared:  0.959,  Adjusted R-squared:  0.9503 
## F-statistic: 110.4 on 11 and 52 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit7))
## AIC:  -168.5295
simres <- simulateResiduals(fittedModel = fit7)
plot(simres)

fit8 <- lmer(Counts ~ poly(Olaparib,2)*BRCA*Alc1 + (1|UID), data = dataset)
print(summary(fit8))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Olaparib, 2) * BRCA * Alc1 + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 701.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.6123 -0.4767 -0.1080  0.6053  1.9160 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 48100    219.3   
##  Residual             25776    160.5   
## Number of obs: 64, groups:  UID, 16
## 
## Fixed effects:
##                                             Estimate Std. Error       df
## (Intercept)                                  1997.19     116.77    12.00
## poly(Olaparib, 2)1                          -3515.62     321.10    40.00
## poly(Olaparib, 2)2                           -707.28     321.10    40.00
## BRCAd11/d11                                 -1272.44     165.14    12.00
## Alc1GFP-ALC1                                   37.19     165.14    12.00
## poly(Olaparib, 2)1:BRCAd11/d11                204.78     454.10    40.00
## poly(Olaparib, 2)2:BRCAd11/d11                 75.06     454.10    40.00
## poly(Olaparib, 2)1:Alc1GFP-ALC1              1443.58     454.10    40.00
## poly(Olaparib, 2)2:Alc1GFP-ALC1               418.64     454.10    40.00
## BRCAd11/d11:Alc1GFP-ALC1                     -264.13     233.55    12.00
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1   410.10     642.19    40.00
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  -145.95     642.19    40.00
##                                             t value Pr(>|t|)    
## (Intercept)                                  17.103 8.59e-10 ***
## poly(Olaparib, 2)1                          -10.949 1.33e-13 ***
## poly(Olaparib, 2)2                           -2.203  0.03344 *  
## BRCAd11/d11                                  -7.705 5.51e-06 ***
## Alc1GFP-ALC1                                  0.225  0.82563    
## poly(Olaparib, 2)1:BRCAd11/d11                0.451  0.65446    
## poly(Olaparib, 2)2:BRCAd11/d11                0.165  0.86954    
## poly(Olaparib, 2)1:Alc1GFP-ALC1               3.179  0.00285 ** 
## poly(Olaparib, 2)2:Alc1GFP-ALC1               0.922  0.36210    
## BRCAd11/d11:Alc1GFP-ALC1                     -1.131  0.28018    
## poly(Olaparib, 2)1:BRCAd11/d11:Alc1GFP-ALC1   0.639  0.52673    
## poly(Olaparib, 2)2:BRCAd11/d11:Alc1GFP-ALC1  -0.227  0.82137    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                    (Intr) pl(O,2)1 pl(O,2)2 BRCAd11/11 A1GFP-
## ply(Olp,2)1         0.000                                    
## ply(Olp,2)2         0.000  0.000                             
## BRCAd11/d11        -0.707  0.000    0.000                    
## Al1GFP-ALC1        -0.707  0.000    0.000    0.500           
## pl(O,2)1:BRCA11/11  0.000 -0.707    0.000    0.000      0.000
## pl(O,2)2:BRCA11/11  0.000  0.000   -0.707    0.000      0.000
## p(O,2)1:A1G         0.000 -0.707    0.000    0.000      0.000
## p(O,2)2:A1G         0.000  0.000   -0.707    0.000      0.000
## BRCA11/11:A         0.500  0.000    0.000   -0.707     -0.707
## p(O,2)1:BRCA11/11:  0.000  0.500    0.000    0.000      0.000
## p(O,2)2:BRCA11/11:  0.000  0.000    0.500    0.000      0.000
##                    pl(O,2)1:BRCA11/11 pl(O,2)2:BRCA11/11 p(O,2)1:A p(O,2)2:A
## ply(Olp,2)1                                                                 
## ply(Olp,2)2                                                                 
## BRCAd11/d11                                                                 
## Al1GFP-ALC1                                                                 
## pl(O,2)1:BRCA11/11                                                          
## pl(O,2)2:BRCA11/11  0.000                                                   
## p(O,2)1:A1G         0.500              0.000                                
## p(O,2)2:A1G         0.000              0.500              0.000             
## BRCA11/11:A         0.000              0.000              0.000     0.000   
## p(O,2)1:BRCA11/11: -0.707              0.000             -0.707     0.000   
## p(O,2)2:BRCA11/11:  0.000             -0.707              0.000    -0.707   
##                    BRCA11/11: p(O,2)1:BRCA11/11:
## ply(Olp,2)1                                     
## ply(Olp,2)2                                     
## BRCAd11/d11                                     
## Al1GFP-ALC1                                     
## pl(O,2)1:BRCA11/11                              
## pl(O,2)2:BRCA11/11                              
## p(O,2)1:A1G                                     
## p(O,2)2:A1G                                     
## BRCA11/11:A                                     
## p(O,2)1:BRCA11/11:  0.000                       
## p(O,2)2:BRCA11/11:  0.000      0.000
cat("AIC: ", AIC(fit8))
## AIC:  729.3739
simres <- simulateResiduals(fittedModel = fit8)
plot(simres)

Cubic formula

fit9 <- lm(Counts ~ Experiment + poly(Olaparib,3)*BRCA*Alc1, data = dataset)
print(summary(fit9))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Olaparib, 3) * BRCA * 
##     Alc1, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -272.53 -100.58    8.31   74.47  367.41 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                  2244.72      50.24  44.678
## Experimentexp2                               -117.94      53.71  -2.196
## Experimentexp3                               -427.94      53.71  -7.967
## Experimentexp4                               -444.25      53.71  -8.271
## poly(Olaparib, 3)1                          -3515.62     303.84 -11.571
## poly(Olaparib, 3)2                           -707.28     303.84  -2.328
## poly(Olaparib, 3)3                            891.45     303.84   2.934
## BRCAd11/d11                                 -1272.44      53.71 -23.690
## Alc1GFP-ALC1                                   37.19      53.71   0.692
## poly(Olaparib, 3)1:BRCAd11/d11                204.78     429.69   0.477
## poly(Olaparib, 3)2:BRCAd11/d11                 75.06     429.69   0.175
## poly(Olaparib, 3)3:BRCAd11/d11               -657.51     429.69  -1.530
## poly(Olaparib, 3)1:Alc1GFP-ALC1              1443.58     429.69   3.360
## poly(Olaparib, 3)2:Alc1GFP-ALC1               418.64     429.69   0.974
## poly(Olaparib, 3)3:Alc1GFP-ALC1              -874.63     429.69  -2.036
## BRCAd11/d11:Alc1GFP-ALC1                     -264.13      75.96  -3.477
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1   410.10     607.67   0.675
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1  -145.95     607.67  -0.240
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1   832.44     607.67   1.370
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## Experimentexp2                               0.03330 *  
## Experimentexp3                              3.85e-10 ***
## Experimentexp4                              1.39e-10 ***
## poly(Olaparib, 3)1                          4.44e-15 ***
## poly(Olaparib, 3)2                           0.02448 *  
## poly(Olaparib, 3)3                           0.00525 ** 
## BRCAd11/d11                                  < 2e-16 ***
## Alc1GFP-ALC1                                 0.49227    
## poly(Olaparib, 3)1:BRCAd11/d11               0.63598    
## poly(Olaparib, 3)2:BRCAd11/d11               0.86210    
## poly(Olaparib, 3)3:BRCAd11/d11               0.13297    
## poly(Olaparib, 3)1:Alc1GFP-ALC1              0.00160 ** 
## poly(Olaparib, 3)2:Alc1GFP-ALC1              0.33512    
## poly(Olaparib, 3)3:Alc1GFP-ALC1              0.04771 *  
## BRCAd11/d11:Alc1GFP-ALC1                     0.00113 ** 
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1  0.50321    
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1  0.81128    
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1  0.17752    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 151.9 on 45 degrees of freedom
## Multiple R-squared:  0.976,  Adjusted R-squared:  0.9665 
## F-statistic: 101.8 on 18 and 45 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit9))
## AIC:  842.0695
simres <- simulateResiduals(fittedModel = fit9)
plot(simres)

fit10 <- lm(NormCounts ~ poly(Olaparib,3)*BRCA*Alc1, data = dataset)
print(summary(fit10))
## 
## Call:
## lm(formula = NormCounts ~ poly(Olaparib, 3) * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.124929 -0.049253 -0.001148  0.039382  0.144743 
## 
## Coefficients:
##                                               Estimate Std. Error t value
## (Intercept)                                  1.000e+00  1.819e-02  54.989
## poly(Olaparib, 3)1                          -1.802e+00  1.455e-01 -12.389
## poly(Olaparib, 3)2                          -3.822e-01  1.455e-01  -2.627
## poly(Olaparib, 3)3                           4.265e-01  1.455e-01   2.931
## BRCAd11/d11                                 -2.071e-17  2.572e-02   0.000
## Alc1GFP-ALC1                                 4.850e-17  2.572e-02   0.000
## poly(Olaparib, 3)1:BRCAd11/d11              -2.618e+00  2.057e-01 -12.726
## poly(Olaparib, 3)2:BRCAd11/d11              -4.290e-01  2.057e-01  -2.085
## poly(Olaparib, 3)3:BRCAd11/d11              -9.427e-02  2.057e-01  -0.458
## poly(Olaparib, 3)1:Alc1GFP-ALC1              7.668e-01  2.057e-01   3.727
## poly(Olaparib, 3)2:Alc1GFP-ALC1              2.234e-01  2.057e-01   1.086
## poly(Olaparib, 3)3:Alc1GFP-ALC1             -4.169e-01  2.057e-01  -2.026
## BRCAd11/d11:Alc1GFP-ALC1                    -8.866e-17  3.637e-02   0.000
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1  8.105e-01  2.910e-01   2.786
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1 -1.481e-01  2.910e-01  -0.509
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1  4.268e-01  2.910e-01   1.467
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## poly(Olaparib, 3)1                           < 2e-16 ***
## poly(Olaparib, 3)2                          0.011533 *  
## poly(Olaparib, 3)3                          0.005156 ** 
## BRCAd11/d11                                 1.000000    
## Alc1GFP-ALC1                                1.000000    
## poly(Olaparib, 3)1:BRCAd11/d11               < 2e-16 ***
## poly(Olaparib, 3)2:BRCAd11/d11              0.042409 *  
## poly(Olaparib, 3)3:BRCAd11/d11              0.648902    
## poly(Olaparib, 3)1:Alc1GFP-ALC1             0.000511 ***
## poly(Olaparib, 3)2:Alc1GFP-ALC1             0.282887    
## poly(Olaparib, 3)3:Alc1GFP-ALC1             0.048309 *  
## BRCAd11/d11:Alc1GFP-ALC1                    1.000000    
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1 0.007625 ** 
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1 0.612977    
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1 0.148907    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.07274 on 48 degrees of freedom
## Multiple R-squared:  0.9708, Adjusted R-squared:  0.9616 
## F-statistic: 106.2 on 15 and 48 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit10))
## AIC:  -138.2543
simres <- simulateResiduals(fittedModel = fit10)
plot(simres)

fit11 <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*Alc1, data = dataset)
print(summary(fit11))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * BRCA * Alc1, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.102304 -0.035893 -0.000865  0.029825  0.114226 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                  0.78917    0.01285  61.407
## poly(Olaparib, 3)1                          -1.42239    0.10281 -13.835
## poly(Olaparib, 3)2                          -0.30160    0.10281  -2.933
## poly(Olaparib, 3)3                           0.33655    0.10281   3.273
## BRCAd11/d11                                 -0.19921    0.01817 -10.961
## Alc1GFP-ALC1                                 0.06641    0.01817   3.654
## poly(Olaparib, 3)1:BRCAd11/d11              -1.18566    0.14540  -8.155
## poly(Olaparib, 3)2:BRCAd11/d11              -0.17696    0.14540  -1.217
## poly(Olaparib, 3)3:BRCAd11/d11              -0.14057    0.14540  -0.967
## poly(Olaparib, 3)1:Alc1GFP-ALC1              0.53637    0.14540   3.689
## poly(Olaparib, 3)2:Alc1GFP-ALC1              0.16580    0.14540   1.140
## poly(Olaparib, 3)3:Alc1GFP-ALC1             -0.32837    0.14540  -2.258
## BRCAd11/d11:Alc1GFP-ALC1                     0.04880    0.02570   1.898
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1  0.06664    0.20562   0.324
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1 -0.20615    0.20562  -1.003
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1  0.37365    0.20562   1.817
##                                             Pr(>|t|)    
## (Intercept)                                  < 2e-16 ***
## poly(Olaparib, 3)1                           < 2e-16 ***
## poly(Olaparib, 3)2                          0.005126 ** 
## poly(Olaparib, 3)3                          0.001974 ** 
## BRCAd11/d11                                 1.16e-14 ***
## Alc1GFP-ALC1                                0.000639 ***
## poly(Olaparib, 3)1:BRCAd11/d11              1.29e-10 ***
## poly(Olaparib, 3)2:BRCAd11/d11              0.229537    
## poly(Olaparib, 3)3:BRCAd11/d11              0.338503    
## poly(Olaparib, 3)1:Alc1GFP-ALC1             0.000574 ***
## poly(Olaparib, 3)2:Alc1GFP-ALC1             0.259820    
## poly(Olaparib, 3)3:Alc1GFP-ALC1             0.028500 *  
## BRCAd11/d11:Alc1GFP-ALC1                    0.063656 .  
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1 0.747272    
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1 0.321110    
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1 0.075440 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05141 on 48 degrees of freedom
## Multiple R-squared:  0.971,  Adjusted R-squared:  0.9619 
## F-statistic:   107 on 15 and 48 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit11))
## AIC:  -182.6914
simres <- simulateResiduals(fittedModel = fit11)
plot(simres)

fit12 <- lmer(Counts ~ poly(Olaparib,3)*BRCA*Alc1 + (1|UID), data = dataset)
print(summary(fit12))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Olaparib, 3) * BRCA * Alc1 + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 638.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.71965 -0.44043 -0.03705  0.52519  1.85497 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 48923    221.2   
##  Residual             22484    149.9   
## Number of obs: 64, groups:  UID, 16
## 
## Fixed effects:
##                                             Estimate Std. Error       df
## (Intercept)                                  1997.19     116.77    12.00
## poly(Olaparib, 3)1                          -3515.62     299.89    36.00
## poly(Olaparib, 3)2                           -707.28     299.89    36.00
## poly(Olaparib, 3)3                            891.45     299.89    36.00
## BRCAd11/d11                                 -1272.44     165.14    12.00
## Alc1GFP-ALC1                                   37.19     165.14    12.00
## poly(Olaparib, 3)1:BRCAd11/d11                204.78     424.11    36.00
## poly(Olaparib, 3)2:BRCAd11/d11                 75.06     424.11    36.00
## poly(Olaparib, 3)3:BRCAd11/d11               -657.51     424.11    36.00
## poly(Olaparib, 3)1:Alc1GFP-ALC1              1443.58     424.11    36.00
## poly(Olaparib, 3)2:Alc1GFP-ALC1               418.64     424.11    36.00
## poly(Olaparib, 3)3:Alc1GFP-ALC1              -874.63     424.11    36.00
## BRCAd11/d11:Alc1GFP-ALC1                     -264.13     233.55    12.00
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1   410.10     599.78    36.00
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1  -145.95     599.78    36.00
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1   832.44     599.78    36.00
##                                             t value Pr(>|t|)    
## (Intercept)                                  17.103 8.59e-10 ***
## poly(Olaparib, 3)1                          -11.723 7.54e-14 ***
## poly(Olaparib, 3)2                           -2.358  0.02390 *  
## poly(Olaparib, 3)3                            2.973  0.00524 ** 
## BRCAd11/d11                                  -7.705 5.51e-06 ***
## Alc1GFP-ALC1                                  0.225  0.82563    
## poly(Olaparib, 3)1:BRCAd11/d11                0.483  0.63214    
## poly(Olaparib, 3)2:BRCAd11/d11                0.177  0.86051    
## poly(Olaparib, 3)3:BRCAd11/d11               -1.550  0.12981    
## poly(Olaparib, 3)1:Alc1GFP-ALC1               3.404  0.00164 ** 
## poly(Olaparib, 3)2:Alc1GFP-ALC1               0.987  0.33018    
## poly(Olaparib, 3)3:Alc1GFP-ALC1              -2.062  0.04646 *  
## BRCAd11/d11:Alc1GFP-ALC1                     -1.131  0.28018    
## poly(Olaparib, 3)1:BRCAd11/d11:Alc1GFP-ALC1   0.684  0.49851    
## poly(Olaparib, 3)2:BRCAd11/d11:Alc1GFP-ALC1  -0.243  0.80912    
## poly(Olaparib, 3)3:BRCAd11/d11:Alc1GFP-ALC1   1.388  0.17370    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat("AIC: ", AIC(fit12))
## AIC:  674.9294
simres <- simulateResiduals(fittedModel = fit12)
plot(simres)

Compare Results

ICtab(fit1,fit2,fit3,fit4,
      fit5,fit6,fit7,fit8,
      fit9,fit10,fit11,fit12,
      base=T)
##       AIC    dAIC   df
## fit11 -182.7    0.0 17
## fit7  -168.5   14.2 13
## fit10 -138.3   44.4 17
## fit3  -137.3   45.4 9 
## fit6  -124.6   58.1 13
## fit2   -89.5   93.2 9 
## fit12  674.9  857.6 18
## fit8   729.4  912.1 14
## fit4   803.9  986.5 10
## fit9   842.1 1024.8 20
## fit5   846.4 1029.1 16
## fit1   851.2 1033.9 12

Final Result

fit <- fit11

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("Alc1",  paste0(" ",levels(dataset$Alc1)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$Alc1)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )


# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP h/d11 -1.4223910 0.1028122 -13.8348519 0.0000000
Olaparib2 in GFP h/d11 -0.3015955 0.1028122 -2.9334619 0.0051264
Olaparib3 in GFP h/d11 0.3365522 0.1028122 3.2734670 0.0019739
Olaparib1: h/d11 vs. d11/d11 in GFP -1.1856592 0.1453983 -8.1545579 0.0000000
Olaparib2: h/d11 vs. d11/d11 in GFP -0.1769563 0.1453983 -1.2170450 0.2295372
Olaparib3: h/d11 vs. d11/d11 in GFP -0.1405672 0.1453983 -0.9667731 0.3385035
Olaparib1: GFP vs. GFP-ALC1 in h/d11 0.5363728 0.1453983 3.6889887 0.0005737
Olaparib2: GFP vs. GFP-ALC1 in h/d11 0.1657976 0.1453983 1.1402990 0.2598197
Olaparib3: GFP vs. GFP-ALC1 in h/d11 -0.3283737 0.1453983 -2.2584419 0.0285003
Olaparib1: h/d11 vs. d11/d11: GFP vs. GFP-ALC1 0.0666424 0.2056243 0.3240977 0.7472722
Olaparib2: h/d11 vs. d11/d11: GFP vs. GFP-ALC1 -0.2061467 0.2056243 -1.0025405 0.3211100
Olaparib3: h/d11 vs. d11/d11: GFP vs. GFP-ALC1 0.3736504 0.2056243 1.8171508 0.0754397
write.table(output, file = "Figure5H_Stats_Ref_h_d11.txt", quote = F, sep = "\t", row.names = T, col.names = NA)
dataset$BRCA <- relevel(dataset$BRCA, ref = "d11/d11")

fit <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*Alc1, data = dataset)

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("Alc1",  paste0(" ",levels(dataset$Alc1)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$Alc1)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )




# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP d11/d11 -2.6080502 0.1028122 -25.3671384 0.0000000
Olaparib2 in GFP d11/d11 -0.4785519 0.1028122 -4.6546235 0.0000259
Olaparib3 in GFP d11/d11 0.1959850 0.1028122 1.9062433 0.0626155
Olaparib1: d11/d11 vs. h/d11 in GFP 1.1856592 0.1453983 8.1545579 0.0000000
Olaparib2: d11/d11 vs. h/d11 in GFP 0.1769563 0.1453983 1.2170450 0.2295372
Olaparib3: d11/d11 vs. h/d11 in GFP 0.1405672 0.1453983 0.9667731 0.3385035
Olaparib1: GFP vs. GFP-ALC1 in d11/d11 0.6030152 0.1453983 4.1473320 0.0001363
Olaparib2: GFP vs. GFP-ALC1 in d11/d11 -0.0403491 0.1453983 -0.2775073 0.7825824
Olaparib3: GFP vs. GFP-ALC1 in d11/d11 0.0452767 0.1453983 0.3113974 0.7568470
Olaparib1: d11/d11 vs. h/d11: GFP vs. GFP-ALC1 -0.0666424 0.2056243 -0.3240977 0.7472722
Olaparib2: d11/d11 vs. h/d11: GFP vs. GFP-ALC1 0.2061467 0.2056243 1.0025405 0.3211100
Olaparib3: d11/d11 vs. h/d11: GFP vs. GFP-ALC1 -0.3736504 0.2056243 -1.8171508 0.0754397
write.table(output, file = "Figure5H_Stats_Ref_d11_d11.txt", quote = F, sep = "\t", row.names = T, col.names = NA)
# re-fit with GFP-ALC1 siBRCA1 reference
dataset$Alc1 <- relevel(dataset$Alc1, ref = "GFP-ALC1")
dataset$BRCA <- relevel(dataset$BRCA, ref = "d11/d11")
 

fit <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*Alc1, data = dataset)

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("Alc1",  paste0(" ",levels(dataset$Alc1)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$Alc1)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )


# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP-ALC1 d11/d11 -2.0050350 0.1028122 -19.5019252 0.0000000
Olaparib2 in GFP-ALC1 d11/d11 -0.5189010 0.1028122 -5.0470781 0.0000069
Olaparib3 in GFP-ALC1 d11/d11 0.2412616 0.1028122 2.3466257 0.0231194
Olaparib1: d11/d11 vs. h/d11 in GFP-ALC1 1.1190169 0.1453983 7.6962146 0.0000000
Olaparib2: d11/d11 vs. h/d11 in GFP-ALC1 0.3831030 0.1453983 2.6348514 0.0112991
Olaparib3: d11/d11 vs. h/d11 in GFP-ALC1 -0.2330832 0.1453983 -1.6030662 0.1154810
Olaparib1: GFP-ALC1 vs. GFP in d11/d11 -0.6030152 0.1453983 -4.1473320 0.0001363
Olaparib2: GFP-ALC1 vs. GFP in d11/d11 0.0403491 0.1453983 0.2775073 0.7825824
Olaparib3: GFP-ALC1 vs. GFP in d11/d11 -0.0452767 0.1453983 -0.3113974 0.7568470
Olaparib1: d11/d11 vs. h/d11: GFP-ALC1 vs. GFP 0.0666424 0.2056243 0.3240977 0.7472722
Olaparib2: d11/d11 vs. h/d11: GFP-ALC1 vs. GFP -0.2061467 0.2056243 -1.0025405 0.3211100
Olaparib3: d11/d11 vs. h/d11: GFP-ALC1 vs. GFP 0.3736504 0.2056243 1.8171508 0.0754397
write.table(output, file = "Figure5H_Stats_Ref_GFP-ALC1_d11_d11.txt", quote = F, sep = "\t", row.names = T, col.names = NA)

Anova

fit11a <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*Alc1, data = dataset)
fit11b <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA+Alc1, data = dataset)

# anova table
anova(fit11a, fit11b)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Olaparib, 3) * BRCA * Alc1
## Model 2: NormCounts2 ~ poly(Olaparib, 3) * BRCA + Alc1
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1     48 0.12684                                  
## 2     55 0.23516 -7  -0.10831 5.8554 6.031e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fit11c <- lm(NormCounts2 ~ poly(Olaparib,3)*Alc1*BRCA, data = dataset)
fit11d <- lm(NormCounts2 ~ poly(Olaparib,3)*Alc1+BRCA, data = dataset)

# anova table
anova(fit11c, fit11d)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Olaparib, 3) * Alc1 * BRCA
## Model 2: NormCounts2 ~ poly(Olaparib, 3) * Alc1 + BRCA
##   Res.Df     RSS Df Sum of Sq     F    Pr(>F)    
## 1     48 0.12684                                 
## 2     55 0.50014 -7  -0.37329 20.18 2.527e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

New analysis

  • fit model for groups (BRCA+Alc1)
dataset$GSID <- factor(dataset$GSID, levels = unique(dataset$GSID))

GSID_levels <- levels(dataset$GSID)

for(g in seq_along(GSID_levels)){
        
        cat("Group: ", GSID_levels[g], "\n")
        
        dataset$GSID <- factor(dataset$GSID, levels = unique(dataset$GSID))
        dataset$GSID <- relevel(dataset$GSID, ref = GSID_levels[g])
        
        fit_group <- lm(NormCounts2 ~ poly(Olaparib,3)*GSID, data = dataset)
        
        print(summary(fit_group))
        cat("AIC: ", AIC(fit_group))
        
        
        simres <- simulateResiduals(fittedModel = fit_group)
        plot(simres)
        
        if(g == 1){
                output <- coef(summary(fit_group))
                output <- output[grep("Olaparib", rownames(output)),]
                rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output))
                
                rownames(output) <- gsub("GSID",  paste0(" ",GSID_levels[g], " vs. "), rownames(output))
                rownames(output)[!(grepl("vs", rownames(output)))]  <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$GSID)[1],  sep = " in " )

                
        } else {
                outtmp <- coef(summary(fit_group))
                outtmp <- outtmp[grep("Olaparib", rownames(outtmp)),]
                rownames(outtmp) <- gsub("poly\\(|, [1-3]\\)","", rownames(outtmp))
                
                rownames(outtmp) <- gsub("GSID",  paste0(" ",GSID_levels[g], " vs. "), rownames(outtmp))
                rownames(outtmp)[!(grepl("vs", rownames(outtmp)))]  <- paste(rownames(outtmp)[!(grepl("vs", rownames(outtmp)))], levels(dataset$GSID)[1],  sep = " in " )

                
                output <- rbind(output,outtmp)
        }
        
        if(g < length(GSID_levels)){
                
                output <- rbind(output, " ", colnames(output))
        }
        
}
## Group:  GFP h/d11 
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * GSID, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.102304 -0.035893 -0.000865  0.029825  0.114226 
## 
## Coefficients:
##                                         Estimate Std. Error t value Pr(>|t|)
## (Intercept)                              0.78917    0.01285  61.407  < 2e-16
## poly(Olaparib, 3)1                      -1.42239    0.10281 -13.835  < 2e-16
## poly(Olaparib, 3)2                      -0.30160    0.10281  -2.933 0.005126
## poly(Olaparib, 3)3                       0.33655    0.10281   3.273 0.001974
## GSIDGFP-ALC1 h/d11                       0.06641    0.01817   3.654 0.000639
## GSIDGFP d11/d11                         -0.19921    0.01817 -10.961 1.16e-14
## GSIDGFP-ALC1 d11/d11                    -0.08400    0.01817  -4.622 2.88e-05
## poly(Olaparib, 3)1:GSIDGFP-ALC1 h/d11    0.53637    0.14540   3.689 0.000574
## poly(Olaparib, 3)2:GSIDGFP-ALC1 h/d11    0.16580    0.14540   1.140 0.259820
## poly(Olaparib, 3)3:GSIDGFP-ALC1 h/d11   -0.32837    0.14540  -2.258 0.028500
## poly(Olaparib, 3)1:GSIDGFP d11/d11      -1.18566    0.14540  -8.155 1.29e-10
## poly(Olaparib, 3)2:GSIDGFP d11/d11      -0.17696    0.14540  -1.217 0.229537
## poly(Olaparib, 3)3:GSIDGFP d11/d11      -0.14057    0.14540  -0.967 0.338503
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11 -0.58264    0.14540  -4.007 0.000213
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11 -0.21731    0.14540  -1.495 0.141577
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11 -0.09529    0.14540  -0.655 0.515355
##                                            
## (Intercept)                             ***
## poly(Olaparib, 3)1                      ***
## poly(Olaparib, 3)2                      ** 
## poly(Olaparib, 3)3                      ** 
## GSIDGFP-ALC1 h/d11                      ***
## GSIDGFP d11/d11                         ***
## GSIDGFP-ALC1 d11/d11                    ***
## poly(Olaparib, 3)1:GSIDGFP-ALC1 h/d11   ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 h/d11      
## poly(Olaparib, 3)3:GSIDGFP-ALC1 h/d11   *  
## poly(Olaparib, 3)1:GSIDGFP d11/d11      ***
## poly(Olaparib, 3)2:GSIDGFP d11/d11         
## poly(Olaparib, 3)3:GSIDGFP d11/d11         
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11 ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11    
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05141 on 48 degrees of freedom
## Multiple R-squared:  0.971,  Adjusted R-squared:  0.9619 
## F-statistic:   107 on 15 and 48 DF,  p-value: < 2.2e-16
## 
## AIC:  -182.6914

## Group:  GFP-ALC1 h/d11 
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * GSID, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.102304 -0.035893 -0.000865  0.029825  0.114226 
## 
## Coefficients:
##                                          Estimate Std. Error t value Pr(>|t|)
## (Intercept)                              0.855575   0.012852  66.574  < 2e-16
## poly(Olaparib, 3)1                      -0.886018   0.102812  -8.618 2.61e-11
## poly(Olaparib, 3)2                      -0.135798   0.102812  -1.321 0.192819
## poly(Olaparib, 3)3                       0.008178   0.102812   0.080 0.936928
## GSIDGFP h/d11                           -0.066407   0.018175  -3.654 0.000639
## GSIDGFP d11/d11                         -0.265613   0.018175 -14.614  < 2e-16
## GSIDGFP-ALC1 d11/d11                    -0.150409   0.018175  -8.276 8.46e-11
## poly(Olaparib, 3)1:GSIDGFP h/d11        -0.536373   0.145398  -3.689 0.000574
## poly(Olaparib, 3)2:GSIDGFP h/d11        -0.165798   0.145398  -1.140 0.259820
## poly(Olaparib, 3)3:GSIDGFP h/d11         0.328374   0.145398   2.258 0.028500
## poly(Olaparib, 3)1:GSIDGFP d11/d11      -1.722032   0.145398 -11.844 7.50e-16
## poly(Olaparib, 3)2:GSIDGFP d11/d11      -0.342754   0.145398  -2.357 0.022532
## poly(Olaparib, 3)3:GSIDGFP d11/d11       0.187807   0.145398   1.292 0.202657
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11 -1.119017   0.145398  -7.696 6.36e-10
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11 -0.383103   0.145398  -2.635 0.011299
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11  0.233083   0.145398   1.603 0.115481
##                                            
## (Intercept)                             ***
## poly(Olaparib, 3)1                      ***
## poly(Olaparib, 3)2                         
## poly(Olaparib, 3)3                         
## GSIDGFP h/d11                           ***
## GSIDGFP d11/d11                         ***
## GSIDGFP-ALC1 d11/d11                    ***
## poly(Olaparib, 3)1:GSIDGFP h/d11        ***
## poly(Olaparib, 3)2:GSIDGFP h/d11           
## poly(Olaparib, 3)3:GSIDGFP h/d11        *  
## poly(Olaparib, 3)1:GSIDGFP d11/d11      ***
## poly(Olaparib, 3)2:GSIDGFP d11/d11      *  
## poly(Olaparib, 3)3:GSIDGFP d11/d11         
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11 ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11 *  
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05141 on 48 degrees of freedom
## Multiple R-squared:  0.971,  Adjusted R-squared:  0.9619 
## F-statistic:   107 on 15 and 48 DF,  p-value: < 2.2e-16
## 
## AIC:  -182.6914

## Group:  GFP d11/d11 
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * GSID, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.102304 -0.035893 -0.000865  0.029825  0.114226 
## 
## Coefficients:
##                                         Estimate Std. Error t value Pr(>|t|)
## (Intercept)                              0.58996    0.01285  45.906  < 2e-16
## poly(Olaparib, 3)1                      -2.60805    0.10281 -25.367  < 2e-16
## poly(Olaparib, 3)2                      -0.47855    0.10281  -4.655 2.59e-05
## poly(Olaparib, 3)3                       0.19598    0.10281   1.906 0.062616
## GSIDGFP h/d11                            0.19921    0.01817  10.961 1.16e-14
## GSIDGFP-ALC1 h/d11                       0.26561    0.01817  14.614  < 2e-16
## GSIDGFP-ALC1 d11/d11                     0.11520    0.01817   6.339 7.60e-08
## poly(Olaparib, 3)1:GSIDGFP h/d11         1.18566    0.14540   8.155 1.29e-10
## poly(Olaparib, 3)2:GSIDGFP h/d11         0.17696    0.14540   1.217 0.229537
## poly(Olaparib, 3)3:GSIDGFP h/d11         0.14057    0.14540   0.967 0.338503
## poly(Olaparib, 3)1:GSIDGFP-ALC1 h/d11    1.72203    0.14540  11.844 7.50e-16
## poly(Olaparib, 3)2:GSIDGFP-ALC1 h/d11    0.34275    0.14540   2.357 0.022532
## poly(Olaparib, 3)3:GSIDGFP-ALC1 h/d11   -0.18781    0.14540  -1.292 0.202657
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11  0.60302    0.14540   4.147 0.000136
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11 -0.04035    0.14540  -0.278 0.782582
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11  0.04528    0.14540   0.311 0.756847
##                                            
## (Intercept)                             ***
## poly(Olaparib, 3)1                      ***
## poly(Olaparib, 3)2                      ***
## poly(Olaparib, 3)3                      .  
## GSIDGFP h/d11                           ***
## GSIDGFP-ALC1 h/d11                      ***
## GSIDGFP-ALC1 d11/d11                    ***
## poly(Olaparib, 3)1:GSIDGFP h/d11        ***
## poly(Olaparib, 3)2:GSIDGFP h/d11           
## poly(Olaparib, 3)3:GSIDGFP h/d11           
## poly(Olaparib, 3)1:GSIDGFP-ALC1 h/d11   ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 h/d11   *  
## poly(Olaparib, 3)3:GSIDGFP-ALC1 h/d11      
## poly(Olaparib, 3)1:GSIDGFP-ALC1 d11/d11 ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 d11/d11    
## poly(Olaparib, 3)3:GSIDGFP-ALC1 d11/d11    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05141 on 48 degrees of freedom
## Multiple R-squared:  0.971,  Adjusted R-squared:  0.9619 
## F-statistic:   107 on 15 and 48 DF,  p-value: < 2.2e-16
## 
## AIC:  -182.6914

## Group:  GFP-ALC1 d11/d11 
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * GSID, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.102304 -0.035893 -0.000865  0.029825  0.114226 
## 
## Coefficients:
##                                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                            0.70517    0.01285  54.870  < 2e-16 ***
## poly(Olaparib, 3)1                    -2.00503    0.10281 -19.502  < 2e-16 ***
## poly(Olaparib, 3)2                    -0.51890    0.10281  -5.047 6.87e-06 ***
## poly(Olaparib, 3)3                     0.24126    0.10281   2.347 0.023119 *  
## GSIDGFP h/d11                          0.08400    0.01817   4.622 2.88e-05 ***
## GSIDGFP-ALC1 h/d11                     0.15041    0.01817   8.276 8.46e-11 ***
## GSIDGFP d11/d11                       -0.11520    0.01817  -6.339 7.60e-08 ***
## poly(Olaparib, 3)1:GSIDGFP h/d11       0.58264    0.14540   4.007 0.000213 ***
## poly(Olaparib, 3)2:GSIDGFP h/d11       0.21731    0.14540   1.495 0.141577    
## poly(Olaparib, 3)3:GSIDGFP h/d11       0.09529    0.14540   0.655 0.515355    
## poly(Olaparib, 3)1:GSIDGFP-ALC1 h/d11  1.11902    0.14540   7.696 6.36e-10 ***
## poly(Olaparib, 3)2:GSIDGFP-ALC1 h/d11  0.38310    0.14540   2.635 0.011299 *  
## poly(Olaparib, 3)3:GSIDGFP-ALC1 h/d11 -0.23308    0.14540  -1.603 0.115481    
## poly(Olaparib, 3)1:GSIDGFP d11/d11    -0.60302    0.14540  -4.147 0.000136 ***
## poly(Olaparib, 3)2:GSIDGFP d11/d11     0.04035    0.14540   0.278 0.782582    
## poly(Olaparib, 3)3:GSIDGFP d11/d11    -0.04528    0.14540  -0.311 0.756847    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05141 on 48 degrees of freedom
## Multiple R-squared:  0.971,  Adjusted R-squared:  0.9619 
## F-statistic:   107 on 15 and 48 DF,  p-value: < 2.2e-16
## 
## AIC:  -182.6914

# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP h/d11 -1.42239095274189 0.102812155919594 -13.8348519201785 2.2707499059511e-18
Olaparib2 in GFP h/d11 -0.301595542580835 0.102812155919594 -2.93346190324714 0.00512637859781538
Olaparib3 in GFP h/d11 0.336552195706758 0.102812155919594 3.27346696211647 0.00197387783090667
Olaparib1: GFP h/d11 vs. GFP-ALC1 h/d11 0.536372847144384 0.145398345278307 3.68898866158147 0.000573740887224468
Olaparib2: GFP h/d11 vs. GFP-ALC1 h/d11 0.165797594232795 0.145398345278307 1.14029904477552 0.259819677419695
Olaparib3: GFP h/d11 vs. GFP-ALC1 h/d11 -0.328373721544222 0.145398345278307 -2.258441943859 0.0285002802015001
Olaparib1: GFP h/d11 vs. GFP d11/d11 -1.18565923135235 0.145398345278307 -8.15455794275291 1.28746356096237e-10
Olaparib2: GFP h/d11 vs. GFP d11/d11 -0.176956335214119 0.145398345278307 -1.21704504184973 0.229537168947121
Olaparib3: GFP h/d11 vs. GFP d11/d11 -0.140567213608647 0.145398345278307 -0.966773131699587 0.338503477328255
Olaparib1: GFP h/d11 vs. GFP-ALC1 d11/d11 -0.58264402262155 0.145398345278307 -4.00722595230578 0.000213083271958141
Olaparib2: GFP h/d11 vs. GFP-ALC1 d11/d11 -0.217305434366553 0.145398345278307 -1.49455232073383 0.141576888983454
Olaparib3: GFP h/d11 vs. GFP-ALC1 d11/d11 -0.0952905489309342 0.145398345278307 -0.655375745497916 0.515354765100382
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP-ALC1 h/d11 -0.886018105597509 0.102812155919594 -8.61783412352945 2.60751076037414e-11
Olaparib2 in GFP-ALC1 h/d11 -0.13579794834804 0.102812155919594 -1.32083552896452 0.192818984629593
Olaparib3 in GFP-ALC1 h/d11 0.00817847416253651 0.102812155919594 0.0795477352788189 0.936927688494952
Olaparib1: GFP-ALC1 h/d11 vs. GFP h/d11 -0.536372847144383 0.145398345278307 -3.68898866158147 0.000573740887224478
Olaparib2: GFP-ALC1 h/d11 vs. GFP h/d11 -0.165797594232795 0.145398345278307 -1.14029904477552 0.259819677419696
Olaparib3: GFP-ALC1 h/d11 vs. GFP h/d11 0.328373721544222 0.145398345278307 2.258441943859 0.0285002802015002
Olaparib1: GFP-ALC1 h/d11 vs. GFP d11/d11 -1.72203207849673 0.145398345278307 -11.8435466043344 7.50077020421532e-16
Olaparib2: GFP-ALC1 h/d11 vs. GFP d11/d11 -0.342753929446914 0.145398345278307 -2.35734408662525 0.0225315755535322
Olaparib3: GFP-ALC1 h/d11 vs. GFP d11/d11 0.187806507935575 0.145398345278307 1.29166881215941 0.202657021722137
Olaparib1: GFP-ALC1 h/d11 vs. GFP-ALC1 d11/d11 -1.11901686976593 0.145398345278307 -7.69621461388725 6.35606597996494e-10
Olaparib2: GFP-ALC1 h/d11 vs. GFP-ALC1 d11/d11 -0.383103028599348 0.145398345278307 -2.63485136550935 0.0112991065251505
Olaparib3: GFP-ALC1 h/d11 vs. GFP-ALC1 d11/d11 0.233083172613288 0.145398345278307 1.60306619836108 0.115480983067289
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP d11/d11 -2.60805018409424 0.102812155919594 -25.367138357977 1.85753198086583e-29
Olaparib2 in GFP d11/d11 -0.478551877794954 0.102812155919594 -4.65462350744996 2.58529451459942e-05
Olaparib3 in GFP d11/d11 0.195984982098112 0.102812155919594 1.90624328752901 0.0626155147386495
Olaparib1: GFP d11/d11 vs. GFP h/d11 1.18565923135235 0.145398345278307 8.15455794275292 1.28746356096233e-10
Olaparib2: GFP d11/d11 vs. GFP h/d11 0.176956335214118 0.145398345278307 1.21704504184972 0.229537168947123
Olaparib3: GFP d11/d11 vs. GFP h/d11 0.140567213608647 0.145398345278307 0.96677313169959 0.338503477328253
Olaparib1: GFP d11/d11 vs. GFP-ALC1 h/d11 1.72203207849673 0.145398345278307 11.8435466043344 7.50077020421522e-16
Olaparib2: GFP d11/d11 vs. GFP-ALC1 h/d11 0.342753929446914 0.145398345278307 2.35734408662525 0.0225315755535321
Olaparib3: GFP d11/d11 vs. GFP-ALC1 h/d11 -0.187806507935575 0.145398345278307 -1.29166881215941 0.202657021722137
Olaparib1: GFP d11/d11 vs. GFP-ALC1 d11/d11 0.603015208730802 0.145398345278307 4.14733199044713 0.000136325781575899
Olaparib2: GFP d11/d11 vs. GFP-ALC1 d11/d11 -0.0403490991524347 0.145398345278307 -0.277507278884106 0.782582359632607
Olaparib3: GFP d11/d11 vs. GFP-ALC1 d11/d11 0.045276664677713 0.145398345278307 0.311397386201671 0.756847016986467
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in GFP-ALC1 d11/d11 -2.00503497536344 0.102812155919594 -19.5019252094228 1.8663910348478e-24
Olaparib2 in GFP-ALC1 d11/d11 -0.518900976947388 0.102812155919594 -5.04707806490512 6.86600762767975e-06
Olaparib3 in GFP-ALC1 d11/d11 0.241261646775825 0.102812155919594 2.34662569438294 0.0231193755416832
Olaparib1: GFP-ALC1 d11/d11 vs. GFP h/d11 0.58264402262155 0.145398345278307 4.00722595230578 0.000213083271958141
Olaparib2: GFP-ALC1 d11/d11 vs. GFP h/d11 0.217305434366553 0.145398345278307 1.49455232073383 0.141576888983453
Olaparib3: GFP-ALC1 d11/d11 vs. GFP h/d11 0.0952905489309342 0.145398345278307 0.655375745497917 0.515354765100381
Olaparib1: GFP-ALC1 d11/d11 vs. GFP-ALC1 h/d11 1.11901686976593 0.145398345278307 7.69621461388724 6.35606597996499e-10
Olaparib2: GFP-ALC1 d11/d11 vs. GFP-ALC1 h/d11 0.383103028599349 0.145398345278307 2.63485136550936 0.0112991065251503
Olaparib3: GFP-ALC1 d11/d11 vs. GFP-ALC1 h/d11 -0.233083172613288 0.145398345278307 -1.60306619836108 0.115480983067289
Olaparib1: GFP-ALC1 d11/d11 vs. GFP d11/d11 -0.603015208730801 0.145398345278307 -4.14733199044713 0.000136325781575902
Olaparib2: GFP-ALC1 d11/d11 vs. GFP d11/d11 0.0403490991524344 0.145398345278307 0.277507278884104 0.782582359632609
Olaparib3: GFP-ALC1 d11/d11 vs. GFP d11/d11 -0.0452766646777127 0.145398345278307 -0.311397386201669 0.756847016986469
write.table(output, file = "Figure5H_Stats_New_All.txt", quote = F, sep = "\t", row.names = T, col.names = NA)